package yf.mall.vo.down;


import lombok.Data;
import java.util.Date;
import com.alibaba.excel.annotation.*;
import java.io.Serializable;



import yf.mall.entity.KolOrderEntity;
import yf.mall.vo.KolOrderVo;

                                        import yf.mall.enums.KolOrderFlowPointEnum;
                                                                        
/**
 * 订单信息表实体
 * 表名 kol_order
 *
 *
 *
 * @date Wed Aug 23 15:59:30 CST 2023
 */
@Data
public class KolOrderDown implements Serializable {
    @ExcelIgnore
    private static final long serialVersionUID = 1L;

                        //订单号
            @ExcelProperty("订单号")
            private Long id;
        
                        //商品id
            @ExcelProperty("商品id")
            private Long productId;
        
                        //商品名称
            @ExcelProperty("商品名称")
            private String productName;
        
                        //IMG-商品图片URL
            @ExcelProperty("IMG-商品图片URL")
            private String productImg;
        
                        //作者账号昵称(抖音/火山作者)
            @ExcelProperty("作者账号昵称(抖音/火山作者)")
            private String authorAccount;
        
                        //作者抖音open_id
            @ExcelProperty("作者抖音open_id")
            private String authorOpenid;
        
                        //商家名称
            @ExcelProperty("商家名称")
            private String shopName;
        
                        //订单支付金额，单位分
            @ExcelProperty("订单支付金额，单位分")
            private Long totalPayAmount;
        
                        //达人佣金率，此处保存为真实数据x1万之后，如真实是0.35，这里是3500
            @ExcelProperty("达人佣金率，此处保存为真实数据x1万之后，如真实是0.35，这里是3500")
            private Long commissionRate;
        
                        //ENUM-订单状态:"PAY_SUCC-支付完成","REFUND-退款","SETTLE-结算","CONFIRM-确认收货"
            @ExcelIgnore
            private String flowPoint;
                        @ExcelProperty("订单状态")
            private String flowPointStr;
        
                        //App名称（抖音，火山）
            @ExcelProperty("App名称（抖音，火山）")
            private String app;
        
                        //更新时间 [联盟侧订单更新时间]
            @ExcelProperty("更新时间 [联盟侧订单更新时间]")
            private Date updateTime;
        
                        //付款时间
            @ExcelProperty("付款时间")
            private Date paySuccessTime;
        
                        //结算时间，结算前为空字符串
            @ExcelProperty("结算时间，结算前为空字符串")
            private Date settleTime;
        
                        //预估参与结算金额
            @ExcelProperty("预估参与结算金额")
            private Long payGoodsAmount;
        
                        //实际参与结算金额
            @ExcelProperty("实际参与结算金额")
            private Long settledGoodsAmount;
        
                        //达人预估佣金收入，单位分
            @ExcelProperty("达人预估佣金收入，单位分")
            private Long estimatedCommission;
        
                        //达人实际佣金收入，单位分
            @ExcelProperty("达人实际佣金收入，单位分")
            private Long realCommission;
        
                        //其他
            @ExcelProperty("其他")
            private String extra;
        
                        //商品数目
            @ExcelProperty("商品数目")
            private Long itemNum;
        
                        //店铺ID
            @ExcelProperty("店铺ID")
            private Long shopId;
        
                        //退款订单退款时间
            @ExcelProperty("退款订单退款时间")
            private Date refundTime;
        
                        //总佣金（预估），对应百应订单明细中的总佣金
            @ExcelProperty("总佣金（预估），对应百应订单明细中的总佣金")
            private Long estimatedTotalCommission;
        
                        //预估平台技术服务费
            @ExcelProperty("预估平台技术服务费")
            private Long estimatedTechServiceFee;
        
                        //选品App client_key
            @ExcelProperty("选品App client_key")
            private String pickSourceClientKey;
        
                        //选品来源自定义参数
            @ExcelProperty("选品来源自定义参数")
            private String pickExtra;
        
                        //达人抖音号/火山号
            @ExcelProperty("达人抖音号/火山号")
            private String authorShortId;
        
                        //带货体裁。shop_list：橱窗；video：视频；live：直播；others：其他(如图文、微头条、问答、西瓜长视频等)
            @ExcelProperty("带货体裁。shop_list：橱窗；video：视频；live：直播；others：其他(如图文、微头条、问答、西瓜长视频等)")
            private String mediaType;
        
    
    public KolOrderDown() {

    }

    public KolOrderDown(KolOrderVo vo) {
        KolOrderEntity entity = vo.getEntity();
                                    this.setId(entity.getId());
            
                                    this.setProductId(entity.getProductId());
            
                                    this.setProductName(entity.getProductName());
            
                                    this.setProductImg(entity.getProductImg());
            
                                    this.setAuthorAccount(entity.getAuthorAccount());
            
                                    this.setAuthorOpenid(entity.getAuthorOpenid());
            
                                    this.setShopName(entity.getShopName());
            
                                    this.setTotalPayAmount(entity.getTotalPayAmount());
            
                                    this.setCommissionRate(entity.getCommissionRate());
            
                                    this.setFlowPoint(entity.getFlowPoint());
                if(entity.getFlowPoint()!=null){
                    this.setFlowPointStr( KolOrderFlowPointEnum.indexOf(entity.getFlowPoint()));
                }
            
                                    this.setApp(entity.getApp());
            
                                    this.setUpdateTime(entity.getUpdateTime());
            
                                    this.setPaySuccessTime(entity.getPaySuccessTime());
            
                                    this.setSettleTime(entity.getSettleTime());
            
                                    this.setPayGoodsAmount(entity.getPayGoodsAmount());
            
                                    this.setSettledGoodsAmount(entity.getSettledGoodsAmount());
            
                                    this.setEstimatedCommission(entity.getEstimatedCommission());
            
                                    this.setRealCommission(entity.getRealCommission());
            
                                    this.setExtra(entity.getExtra());
            
                                    this.setItemNum(entity.getItemNum());
            
                                    this.setShopId(entity.getShopId());
            
                                    this.setRefundTime(entity.getRefundTime());
            
                                    this.setEstimatedTotalCommission(entity.getEstimatedTotalCommission());
            
                                    this.setEstimatedTechServiceFee(entity.getEstimatedTechServiceFee());
            
                                    this.setPickSourceClientKey(entity.getPickSourceClientKey());
            
                                    this.setPickExtra(entity.getPickExtra());
            
                                    this.setAuthorShortId(entity.getAuthorShortId());
            
                                    this.setMediaType(entity.getMediaType());
            
            }


}
